home *** CD-ROM | disk | FTP | other *** search
Makefile | 1998-04-01 | 5.8 KB | 202 lines |
- #!sc:c/smake
- #
- #####################################################################
- #
- # $VER: smakefile 6.5 (01.04.98)
- # (C) Copyright 1995-1996 Marius Gröger
- # All Rights Reserved
- #
- # (linplip.device added by Stéphane Zermatten)
- #
- #####################################################################
-
- #####################################################################
- #
- # following stuff is your configuration
- #
- LIBS = LIB LIB:amiga.lib LIB lib:sc.lib LIB lib:debug.lib
- CINCLUDES = INCDIR="include:" INCDIR="netinclude:"
- ASMINCLUDES = INCDIR="INCLUDEASM:" $(CINCLUDES)
- CPUSUFFIX = 020 # 000 010 020 030 040 060 ANY
- CPUCCOPT = CPU=68$(CPUSUFFIX)
- CP = C:Copy
- MV = C:Rename
- RM = C:Delete >NIL:
- LD = sc:c/slink
- CC = sc:c/sc
- AS = sc:c/sc
- MAKE = sc:c/smake
- BUMPREV = bumprev
- SETREV = SetRev
- PROTECT = protect
- BUILD_AMINET= /s/build-aminet
- ECHO = Echo
- PROTOCOL = LIN # LIN or MAG
- PROTOCOL_LC = lin # lin or mag (lowercase. stupid, I know... SZ)
- SUFFIX = $(PRSUFFIX)$(CPUSUFFIX)
- #
- #####################################################################
-
- #####################################################################
- #
- # installation drawer and names of device
- #
- INSTALL_DIR = AmiTCP:/Special/DEVS/Networks
- DEVICE_DIR = /DEVS/Networks
- BASENAME = magplip
- RELNAME = magPLIP
- NAME = $(PROTOCOL_LC)plip.device
- VERSION = 38
- IDS = aminet.ids
-
- #
- #####################################################################
-
-
- #####################################################################
- #
- # assembler/compiler flags
- #
- # this applies to normal and optimized compilation:
- #
- STDFLAGS = $(CINCLUDES) NOMULTIPLEINCLUDES ERRREXX COMMENTNEST NOSTKCHK NOCHKABORT\
- SMALLCODE SMALLDATA VERBOSE NOICONS STRICT ANSI DEFINE $(PROTOCOL)PLIP=1
- #
- # this applies only to normal compilation:
- #
- NORMCFLAGS = $(STDFLAGS)
- #
- # this applies only to optimized compilation:
- #
- OPTCFLAGS = $(STDFLAGS) $(CPUCCOPT) PARAMETERS=REGISTERS OPT OPTTIME OPTINLINE\
- OPTSCHEDULE STRINGMERGE STRUCTUREEQUIVALENCE
- #
- # this applies to assembler compilation
- #
- AFLAGS = $(ASMINCLUDES) VERBOSE DEFINE $(PROTOCOL)PLIP=1
- #
- #####################################################################
-
- #####################################################################
- #
- # linkage flags
- #
- LDFLAGS = NOICONS SC $(LIBS) TO
- OPTLDFLAGS = NOICONS SC SD ND $(LIBS) TO
- #
- #####################################################################
-
- #####################################################################
- #
- # the object files
- #
- NORMOBJ=$(PROTOCOL)rt.o device.no server.no track.no $(PROTOCOL)port.o crc16.o
- OPTOBJ=$(PROTOCOL)rt.o $(PROTOCOL)device.opt$(CPUSUFFIX) $(PROTOCOL)server.opt$(CPUSUFFIX)\
- $(PROTOCOL)track.opt$(CPUSUFFIX) $(PROTOCOL)port.o crc16.o
- #
- #####################################################################
-
- #####################################################################
- #
- # rules
- #
- # compile a file normally
- #
- .c.no:
- $(CC) $(NORMCFLAGS) OBJECTNAME t:$@ $*.c
- @$(CP) t:$@ $@
- @$(RM) t:$@
- #
- # compile a file optimizing
- #
- .c.opt$(SUFFIX):
- $(CC) $(OPTCFLAGS) OBJECTNAME t:$@ $*.c
- @$(CP) t:$@ $@
- @$(RM) t:$@
- #
- # assemble a file
- #
- .asm.o:
- $(AS) $(AFLAGS) OBJECTNAME $@ $*.asm
- #
- #####################################################################
-
- #####################################################################
- #
- # targets
- #
- help:
- -@Echo "Usage:"
- -@Echo "To make an unoptimized version"
- -@Echo " $(MAKE) all"
- -@Echo "To make an optimized version"
- -@Echo " $(MAKE) all_opt"
- -@Echo "To install an unoptimized version"
- -@Echo " $(MAKE) install"
- -@Echo "To install an optimized version"
- -@Echo " $(MAKE) install"
- -@Echo "To increment the revision"
- -@Echo " $(MAKE) newrev"
- -@Echo "To remove all intermediate files for unoptimized the version"
- -@Echo " $(MAKE) clean_norm"
- -@Echo "To remove all intermediate files for optimized the version"
- -@Echo " $(MAKE) clean_opt"
- -@Echo "To %remove all intermediate files"
- -@Echo " %$(MAKE) clean"
- -@Echo "To create a distribution"
- -@Echo " $(MAKE) release"
-
- all: $(DEVICE_DIR)/$(NAME)
- all_opt: $(DEVICE_DIR)/$(NAME).$(CPUSUFFIX)
-
- install: all
- $(CP) $(DEVICE_DIR)/$(NAME) $(INSTALL_DIR)/$(NAME)
-
- install_opt: all_opt
- $(CP) $(DEVICE_DIR)/$(NAME).$(CPUSUFFIX) $(INSTALL_DIR)/$(NAME)
-
- newrev:
- $(BUMPREV) $(VERSION) magplip
- $(BUMPREV) $(VERSION) linplip
-
- clean_norm:
- -@$(RM) *.o
- -@$(RM) *.no
-
- clean_opt:
- -@$(RM) *.o
- -@$(RM) *.opt*
-
- clean: clean_norm clean_opt
-
- release:
- $(MAKE) CPUSUFFIX=000 PROTOCOL=MAG PROTOCOL_LC=mag all_opt
- $(MAKE) CPUSUFFIX=020 PROTOCOL=MAG PROTOCOL_LC=mag all_opt
- $(MAKE) CPUSUFFIX=040 PROTOCOL=MAG PROTOCOL_LC=mag all_opt
- $(MAKE) CPUSUFFIX=000 PROTOCOL=LIN PROTOCOL_LC=lin all_opt
- $(MAKE) CPUSUFFIX=020 PROTOCOL=LIN PROTOCOL_LC=lin all_opt
- $(MAKE) CPUSUFFIX=040 PROTOCOL=LIN PROTOCOL_LC=lin all_opt
- $(BUILD_AMINET) "$(RELNAME)" "$(BASENAME)" "$(DEVICE_DIR)/$(NAME).$(CPUSUFFIX)" "/ReadMe" "//$(BASENAME)" "$(IDS)" CLEAN
-
- $(DEVICE_DIR)/$(NAME).$(CPUSUFFIX): $(OPTOBJ)
- $(LD) $(OPTOBJ) $(OPTLDFLAGS) $@
-
- $(DEVICE_DIR)/$(NAME): $(NORMOBJ)
- $(LD) $(NORMOBJ) $(LDFLAGS) $@
- #
- #####################################################################
-
- #####################################################################
- #
- # various dependencies
- #
- $(PROTOCOL)rt.o: rt.asm magplip.i $(PROTOCOL)plip_rev.i
- crc16.o: crc16.asm
- $(PROTOCOL)port.o: $(PROTOCOL)port.asm magplip.i
- $(PROTOCOL)device.opt$(SUFFIX) device.no: device.c magplip.h
- $(PROTOCOL)server.opt$(SUFFIX) server.no: server.c magplip.h
- $(PROTOCOL)track.opt$(SUFFIX) track.no: track.c magplip.h
- #
- #####################################################################
-
-